home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / tcppack / tcppackb.lzh / src / libnetwork / h2n_n2h.c < prev    next >
C/C++ Source or Header  |  1994-08-10  |  2KB  |  92 lines

  1. /*
  2.  * h2n_n2h.c
  3.  *
  4.  * Copyright (C) 1994 First Class Technology.
  5.  */
  6.  
  7. #include<stdio.h>
  8. #include<sys/param.h>
  9.  
  10. #ifdef __BIG_ENDIAN__
  11. /************************************************
  12.  *                        *
  13.  ************************************************/
  14. unsigned long
  15. htonl (unsigned long hostlong)
  16. {
  17.   return hostlong;
  18. }
  19.  
  20. /************************************************
  21.  *                        *
  22.  ************************************************/
  23. unsigned short
  24. htons (unsigned short hostshort)
  25. {
  26.   return hostshort;
  27. }
  28.  
  29. /************************************************
  30.  *                        *
  31.  ************************************************/
  32. unsigned long
  33. ntohl (unsigned long netlong)
  34. {
  35.   return netlong;
  36. }
  37.  
  38. /************************************************
  39.  *                        *
  40.  ************************************************/
  41. unsigned short
  42. ntohs (unsigned short netshort)
  43. {
  44.   return netshort;
  45. }
  46. #endif
  47.  
  48. #ifdef __LITTLE_ENDIAN__
  49. /************************************************
  50.  *                        *
  51.  ************************************************/
  52. unsigned long
  53. htonl (unsigned long hostlong)
  54. {
  55.   unsigned long result;
  56.  
  57.   result = (((hostlong & 0xff) << 24)
  58.         | ((hostlong & 0xff00) << 8)
  59.         | ((hostlong & 0xff0000) >> 8)
  60.         | ((hostlong & 0xff000000) >> 24));
  61.  
  62.   return result;
  63. }
  64.  
  65. /************************************************
  66.  *                        *
  67.  ************************************************/
  68. unsigned short
  69. htons (unsigned short hostshort)
  70. {
  71.   return (hostshort >> 8) | (hostshort << 8);
  72. }
  73.  
  74. /************************************************
  75.  *                        *
  76.  ************************************************/
  77. unsigned long
  78. ntohl (unsigned long netlong)
  79. {
  80.   return htonl (netlong);
  81. }
  82.  
  83. /************************************************
  84.  *                        *
  85.  ************************************************/
  86. unsigned short
  87. ntohs (unsigned short netshort)
  88. {
  89.   return ntohl (netshort);
  90. }
  91. #endif
  92.